/*
 * Ext JS Library 2.1
 * Copyright(c) 2006-2008, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */

Ext.app.SearchField = Ext.extend(Ext.form.TwinTriggerField, {
    initComponent: function() {
        Ext.app.SearchField.superclass.initComponent.call(this);
        this.on('specialkey', function(f, e) {
            if (e.getKey() == e.ENTER) {
                this.onTrigger2Click();
            }
        }, this);
    },

    validationEvent: false,
    validateOnBlur: false,
    trigger1Class: 'x-form-clear-trigger',
    trigger2Class: 'x-form-search-trigger',
    hideTrigger1: true,
    width: 100,
    hasSearch: false,
    paramName: 'action',

    onTrigger1Click: function() {
        if (this.hasSearch) {
            this.el.dom.value = '';
            var o = { start: 0, limit: 50 };
            this.store.baseParams = this.store.baseParams || {};
            this.store.baseParams[this.paramName] = '';
            this.store.reload({ params: o });
            this.triggers[0].hide();
            this.hasSearch = false;
        }
    },

    onTrigger2Click: function() {

    



        var v = this.getRawValue();
        if (v.length < 1) {
            this.onTrigger1Click();
            return;
        }
        var o = { action: 'searchPB' };
        this.store.baseParams = o;
        //        this.store.baseParams[this.paramName] = v;
        this.store.load({ params: { start: 0, limit: 50, query: v} });
        this.hasSearch = true;
        this.triggers[0].show();

    }
});